package com.springboot.frame.backup;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * 跨域参数
 *
 * @author TaoYu
 */
@Data
@ConfigurationProperties(prefix = "database.backup")
public class BackUpProperties {

    /**
     * 是否开启备份
     */
    private boolean enabled = false;
    /**
     * 数据库所在的主机 schema为DataSource时可忽略
     */
    private String host="127.0.0.1";
    /**
     * 数据库所在的主机端口 schema为DataSource时可忽略
     */
    private String port="3306";
    /**
     * 数据库账号
     */
    private String username="root";
    /**
     * 数据库密码
     */
    private String password="";
    /**
     * 需要导出的数据库名
     */
    private String exportDatabaseName;

    /**
     * 导出的路径，保存导出备份文件的位置
     */
    private String exportPath;

    /**
     * 备份文件名前缀
     */
    private String fileNamePrefix="database-";
    /**
     * 备份周期cron表达式
     */
    private String cron;

    /**
     * mysqldump的路径 schema为mysqldump时不可忽略
     */
    private String mysqldumpPath;

    /**
     * 最大保存时间，默认天
     */
    private int maxHistory = 7;

    /**
     * 数据类型
     */
    private DbType dbType = DbType.MYSQL;

    /**
     * 导出模式,目前DataSource模式还有待扩展
     */
    private Schema schema=Schema.Jdbc;

    /**
     * 导出表的类型，默认表+视图
     */
    private TableType tableType = TableType.all;

    /**
     * 表数据每行是否独立分开
     */
    private boolean bulk = true;
}
